package com.iwaster.utils;/*
 *com.iwaster.utils
 *@author Ouka
 *19:04
 */

import java.io.File;
import java.util.HashMap;
import java.util.UUID;
//创建新的文件名
public class UploadUtils {
    public static String createNewFileName(String filename) {
        return UUID.randomUUID().toString().replace("-", "") + "_" + filename;

    }

    //    public static void main(String[] args){
//      createNewFileName("ss");
//    }
    /*
     * 文件上传存储位置打散（新的文件存储路径）
     */
    public static String createNewPath(String path, String filename) {
        int hashcode = Math.abs(filename.hashCode());
        int dir1 = hashcode & 0xf;//与运算获得0-15之间的数字
        int dir2 = (hashcode & 0xf0) >> 4;
        String newpath = path + "/" + dir1 + "/" + dir2;
        File dir = new File(newpath);
        if(!dir.exists()){
            dir.mkdirs();
        }
        return newpath;
    }
    //遍历文件
    public static void listFile(File dir,HashMap<String,String> fliename){
        File[] files = dir.listFiles();
        if(files!=null){
            for (File file : files) {
                if(file.isDirectory()){
                    listFile(file, fliename);
                }else{
                    String name = file.getName();//获取文件名
                    /*
                    *将真实的文件名作为key
                    * 将切割后的文件名作为value展示给浏览器
                    *
                    * */
                    fliename.put(name, name.split("_")[1]);

                }
            }
        }


    }
}
